package com.icinfo.cloud.provider.punish.actscode.service;

import com.icinfo.cloud.provider.punish.actscode.dto.ActsCodeRequest;
import com.icinfo.cloud.provider.punish.actscode.dto.CasePunishInfoListQueryDto;
import com.icinfo.cloud.provider.punish.actscode.vo.*;
import com.icinfo.cloud.provider.punish.api.vo.CaseActsCodeDetailInfoVo;

import java.util.List;

/**
 * @Desc 行为码查询案件详情service
 * @Author mahan
 * @Date 2022/11/9
 */
public interface ICaseActsCodeService {


    /**
     * 根据行为码，查询案件信息
     * @param caseActsCode
     * @return
     */
    CaseActsCodeDetailVo getCaseDetailByActsCode(String caseActsCode);

    /**
     * 检查详情页面，获取行政处罚列表
     * @return
     */
    List<CasePunishInfoListVo> getPunishInfoList(CasePunishInfoListQueryDto dto);

    /**
     * 公众扫码，获取案件公示信息
     * @param caseActsCode
     * @return
     */
    CasePublicInfoVo getCasePublicInfo(String caseActsCode);
    /**
     * 获取案件详情-行政行为码公众扫码
     * @param: caseActsCode
     * @return: CaseActsCodeDetailInfoVo
     * @Author: wuzhihui
     * @Date: 2023/02/06
     */
    CaseDetailActsCodeVo getCaseDetailInfoByActsCode(ActsCodeRequest dto);
    /**
     * 获取公示信息-行政行为码公众扫码
     * @param: [caseActsCode]
     * @return: CasePublicityActsCodeVo
     * @Author: wuzhihui
     * @Date: 2023/02/07
     */
    CasePublicityActsCodeVo getCasePublicityByActsCode(ActsCodeRequest dto);
    /**
     * 通过身份证或者统一社会信用代码获取该身份的partyId
     * @param: [dto]
     * @return: java.util.List<java.lang.String>
     * @Author: wuzhihui
     * @Date: 2023/02/08
     */
    List<String> getCasePartyIdsByActsCode(ActsCodeRequest dto);
}
